iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
Software Development

我們與Maven的距離系列 第 7

Day06 - Maven Intruction

  • 分享至 

  • xImage
  •  

前言

學習與認識maven的好地方莫過於官網了,本日閒談三個maven主要的功能

什麼是maven

maven日耳曼語意思是知識的累積,它最初是在 Jakarta Turbine 專案中,為了簡化建置流程而誕生。目的在於簡化Java工程師的日常作業,主要的功能有:

  • 構建管理工具
  • 依賴管理
  • 專案訊息管理

構建管理工具

它可以構建的前提就是約定好的目錄結構好讓程式來做事情,以約定大於配置(Convention Over Configuration)方式進行,這樣一來就可以少掉需多的外部設定。構建的過程包含以下部分
https://ithelp.ithome.com.tw/upload/images/20250921/20128084TQXPyCu5nB.png

  • clean:清除現有編譯與打包的檔案
  • compile:編譯
  • test:進行test case測試
  • report:產生測試報告及相關專案資訊
  • package:視專案打包成jar或war又或是ear
  • deploy:部署檔案

平常的我們是不是習慣使用IDE工具幫我們打包jar或war又或是ear,但那僅能是在你本基的開發環境,走向CICD你的程式碼從git push到remote server後觸發程序呼叫CICD工具,自動化的完成編譯打包部署的工作流程,勢必要有一套構建工具,maven它做得到

依賴管理

有沒有曾經打開一個專案裡面相依幾百個jar檔的經驗呢,要手動把幾百個jar下到專案裡著實不容易,一旦遇到版本升級或是遇到套件衝突都會是一場苦力活。我們可以從maven repository輕鬆找到我們要的jar,jar檔提供衝突的解方案,主要替我們處理以下兩件事:

  • java套件(jar)來源
  • java套件依賴關係

專案訊息管理

maven能夠提供專案的相關訊息,例如依賴關係、測試報告等
我們在前一日的專案目錄執行

mvn site

我們會看到一個靜態網站在target/site下看到,並點選index.html
https://ithelp.ithome.com.tw/upload/images/20250921/20128084vetsaDTm3d.png

reference


上一篇
Day05 - Maven Quick Start
下一篇
Day07 - POM
系列文
我們與Maven的距離8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言